<?php
    class EstadoSolicitud extends DBManager
    {
	var  $con;

	//funcion para comprobar conexion

        function open_con()
	{
            $this->con=parent::conectar();
            return $this->con;
	}

	//funcion para cerra conexion
	function close_con()
	{
            parent::desconectar();
	}
        
        
        function new_estado_solicitud($datos,$tabla,$campo_solicitud)
        {
            parent::conectar();

            $record_est["idsolicitud"]        =    $datos[0];
            $record_est["idempleado"]          =   $datos[1];
            $record_est["idestado"]            =   $datos[2];
            $record_est["nacta_ests"]          =   trim(addslashes($datos[3]));
            $record_est["observacion_ests"]    =   trim(addslashes($datos[4]));
            $record_est["fechacta_ests"]       =   $datos[5];
            
            $record_sol["idestado"]            =   $datos[2];
           
            $this->obj_con->StartTrans(); 
                $new_estado_solicitud      =   $this->obj_con->AutoExecute("tp_estadosolicitud", $record_est, 'INSERT');
                $update_solicitud         =   $this->obj_con->AutoExecute($tabla, $record_sol, "UPDATE", $campo_solicitud."=".$datos[0]);
            $this->obj_con->CompleteTrans();

            if($new_estado_solicitud && $update_solicitud)
            {
                return true;
            }
            else
            {
		return false;
            }
            
            parent::desconectar();
        }

        function update_estado_solicitud($idestadosolicitud,$datos,$tabla,$campo_solicitud)
        {
            parent::conectar();

            $record_est["idestado"]            =   $datos[4];
            $record_est["nacta_ests"]          =   trim(addslashes($datos[2]));
            $record_est["observacion_ests"]    =   trim(addslashes($datos[5]));
            $record_est["fechacta_ests"]       =   $datos[3];
            
            $record_aut["idestado"]            =   $datos[4];
           
            $this->obj_con->StartTrans(); 
                $update_estado_solicitud =   $this->obj_con->AutoExecute("tp_estadosolicitud", $record_est, 'UPDATE', "idestadosolicitud = '".$idestadosolicitud."'");
                $update_solicitud        =   $this->obj_con->AutoExecute($tabla, $record_aut, "UPDATE", $campo_solicitud."=".$datos[0]);
            $this->obj_con->CompleteTrans();

            if($update_estado_solicitud && $update_solicitud)
            {
                return true;
            }
            else
            {
		return false;
            }
            
            parent::desconectar();
        }        
        
        function get_campo_estado_soli($condicion,$get_campo)
	{
            parent::conectar();

            $consulta  =   "select ".$get_campo." from tp_estadosolicitud where ".$condicion;
            $record_consulta = $this->obj_con->GetRow($consulta);
            
            parent::desconectar();
            return  $record_consulta[$get_campo];
        }
        
        function show_grid_estados()
        {
           parent::conectar();
            
            $start           =   isset($_POST['start'])?$_POST['start']:0; 
            $limit           =   isset($_POST['limit'])?$_POST['limit']:100;
            $data_all        =   array();            
            $idsolicitud    = $_POST["idsolicitud"];
            
            $consulta_solicitud   =   "select ests.idestado,ests.idempleado,ests.nacta_ests,ests.observacion_ests,to_char(ests.fechacta_ests,'DD/MM/YYYY') as fechacta_ests,est.nombre_esta,emp.nombre_emp||' '||emp.apellido_emp as nombre_emp,to_char(ests.fecharegistro_ests,'DD/MM/YYYY') as fecharegistro_ests
from tp_solicitud sol
inner join tp_estadosolicitud ests on ests.idsolicitud = sol.idsolicitud
inner join ts_empleado	emp on emp.idempleado = ests.idempleado
inner join ts_estado est on est.idestado = ests.idestado
where sol.idsolicitud=".$idsolicitud." order by ests.fecharegistro_ests desc";
           
            $recordset_all      =   $this->obj_con-> Execute($consulta_solicitud);

           if (!$recordset_all)
           {
               echo ($this->obj_con->ErrorMsg());
           }
 	   else
           {
               while (!$recordset_all->EOF)
     	       {
                    $nacta_ests            =    $recordset_all->fields['nacta_ests'];
                    $observacion_ests      =    $recordset_all->fields['observacion_ests'];
                    $fechacta_ests         =    $recordset_all->fields['fechacta_ests'];
                    $nombre_esta           =    $recordset_all->fields['nombre_esta'];
                    $nombre_emp            =    $recordset_all->fields['nombre_emp'];
                    $fecharegistro         =    $recordset_all->fields['fecharegistro_ests'];
                    
                    $responce_all=array('nacta_ests'=>$nacta_ests,'observacion_ests'=>$observacion_ests,'fechacta_ests'=>$fechacta_ests,'nombre_esta'=>$nombre_esta,'nombre_emp'=>$nombre_emp,'fecharegistro'=>$fecharegistro);
                    array_push($data_all,$responce_all);
                    $recordset_all->MoveNext();
                }

                $paging_all = array(
                        	 'success'=>true,
                                 'total'=>count($data_all), //<--- total de registros a paginar
				 'data'=> array_splice($data_all,$start,$limit)
                                );

		echo json_encode($paging_all);
            }
            
            
            parent::desconectar();
        }
        
    }
?>
